1. Field of the Invention
The present invention relates to a technique suitable for use in transmitting and transferring a multicast packet.
2. Description of the Related Art
In the Internet environment, broadband networks have recently progressed with more widespread use of ADSL (Asynchronous Digital Subscriber Line) and FTTH (Fiber To The Home). Processing performance of various computing devices, including a personal computer (PC), has also been improved remarkably.
Against such background of a tendency toward performance improvements in the communication environment and the data processing environment, a streaming technique has been practiced which delivers multimedia data, e.g., moving images (pictures) and voices (sounds), via a network in real time. With the practical use of the streaming technique, users can look and listen to broadband broadcasting of live media or recorded media, as well as recorded media on demand.
Communication methods called unicast and multicast are generally used for delivery of those video contents. The term “unicast” means a technique for communication on the basis of a 1:1 relation. In the case of unicast, when a packet is transmitted to a plurality of communication partners, a data transmitter is required to copy the packet in the same number as the communication partners and to transmit the copied packets.
On the other hand, the term “multicast” means a technique for transmitting one packet to a large number of particular communication partners. The packet transmitted by multicast is copied by appropriate data transfer apparatuses disposed on a communication path and is then transmitted to the large number of particular communication partners, i.e., respective data receivers.
Because multimedia data (particularly moving image data) has a too large data amount to transmit the data as it is, the multimedia data is usually subjected to coding before the delivery. Therefore, various coding techniques have been proposed to realize a high compression rate while suppressing deterioration of images. For example, MPEG-2 and MPEG-4 are typical coding techniques which are standardized as international standards by ISO (International Organization for Standardization).
With the MPEG coding techniques, such as MPEG-2 and MPEG-4, the predictive coding technique is applied to each of frames making up the moving image data. Depending on the kind of predictive coding technique applied, each frame is classified into one of three frames, i.e., an I frame, a P frame, and B frame.
Of the three frames, the I frame represents an intra-frame coded image. The P frame represents an inter-frame forward prediction coded image using a past image frame with respect to the coding target frame. The B frame represents an inter-frame bidirectional prediction coded image using past and future image frames with respect to the coding target frame. Among those three coded frames, only the I frame can be decoded without using information of any other image frames.
Various techniques using those frames are proposed. For example, Japanese Patent Laid-Open No. 2005-6339 proposes a method of, in order to speed up the start of viewing for presentation, transmitting a main video stream and an alternative video stream, and causing a receiver to initially tune with the alternative video stream and to tune with the main video stream when the next GOP of the main video stream appears. Further, Japanese Patent Laid-Open No. 2005-124193 proposes a method of, in order to reduce time waiting for presentation of video when a video channel is changed from one to another, holding at least one independent frame for each video channel and transmitting the independent frame to a client at a request source via unicast communication.
In the delivery of video content by multicast, the packet is automatically copied for transfer by the data transfer apparatus disposed on the communication path. In the case of moving image data coded by the MPEG coding technique, a head packet received from a data transmitter is not always the head packet of the I frame at the time when the data transfer apparatus receives a multicast delivery request from the data receiver.
If the received head packet is not the head packet of the I frame, copying and transfer of packets are started from the packet of the P frame or the B frame. Accordingly, the data receiver cannot normally decode and reproduce the video content until the head packet of the I frame is received. Another problem is that a useless process of decoding and abandoning the unnecessary P or B frame is executed until the head packet of the I frame is received.